1. Field of the Invention
The present invention relates generally to network communications systems and more particularly to managing and provisioning streamed data over a network where recipients of that data can be authorized, authenticated, and billed for receiving that data.
2. Discussion of the Related Art
Today's user of a network communication system is demanding that large amounts of content (i.e. data, voice, images, video, etc.) be delivered to their network receiving device (e.g., computer, set-top, PDA, cellular phone, etc.) in real-time. As network communications systems, particularly the Internet, become a ubiquitous communication link among users worldwide, more applications are looking to this link to deliver content to multiple users simultaneously in the form of a network broadcast. In the network broadcast, multiple users receive similar or identical content from a single source virtually simultaneously.
One conventional mechanism for delivering content over a network communication system is referred to as a unicast. In unicasting, a source of the content sends the content to each of the users or “recipients” of the content within the network communication system. This is referred to as a “one to one” delivery of content. Unicasting to N recipients involves sending N copies of the content over the network communication system, one copy to each recipient. For large numbers of recipients, these multiple copies have a deleterious effect on the performance of the network communication system, particularly for content requiring a high amount of bandwidth for delivery (e.g., video streams).
Another mechanism for delivering content over the network communication system is to simply broadcast the content to every user on the network communication system regardless of whether the user desires to receive the content or not. This is referred to as a “one to all” delivery of content. With broadcasting, one copy of the content, addressed to every user on the network, is transmitted over the network communication system. While broadcasting reduces the amount of the network bandwidth consumed by the delivery of the content, not all users desire or should receive the content. Furthermore, the source of the content has no mechanism for determining which of the recipients received the content.
Another mechanism for delivering content over the network communication system is a referred to as a multicast. In multicasting, the source of the content sends one copy of the content addressed to only those recipients who should receive the content. This is referred to as a “one to many” delivery of content. With this form of delivery, the content is replicated at key points in the network communication system so that each recipient receives the content quickly and efficiently without the problems associated with other forms of delivery.
However, conventional delivery of content via multicast still has many problems that heretofore have hindered its adoption as a content delivery standard. One problem associated with multicasting not found with unicasting is that the originator of the content does not know which, if any, of the recipients actually received the content. In contrast, with unicasts, the originator can measure network bandwidth and determine the recipients of the content. However, with unicasts, the number of recipients is bound by the resources available to support the replication of each content stream.
Another problem with multicasting is that the originator of the multicast content is unable to measure the amount and quality of the content delivered to any particular recipient. Originators that bill recipients based on bandwidth usage are reluctant to provide a service for which they cannot effectively measure that usage. Furthermore, in network communication systems employing unicasts, there is a direct relationship between the number of servers in the system and the number of recipients able to be serviced by the system. Thus, billing for those services is relatively straightforward. This same relationship is not available in a network communication system employing multicasts.
What is needed is an improved system and method for managing and provisioning streamed data in a network communication system.